package com.danskin.wechat.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.danskin.wechat.entity.ActivityApply;
import com.danskin.wechat.entity.ActivityApplyConfig;
import com.danskin.wechat.entity.ActivityMiddle;
import com.danskin.wechat.entity.CustActivityApply;
import com.danskin.wechat.entity.VipActivity;
import com.danskin.wechat.entity.VipOption;
import com.danskin.wechat.entity.VipVote;
import com.danskin.wechat.entity.example.VipActivityExample;
import com.danskin.wechat.util.Page;

public interface VipActivityDao {

	List<VipActivity> listPageVipActivityList(Page page);

	void deleteVipActivity(String id);

	void insertVipActivity(VipActivity vipActivity);

	void updateVipActivity(VipActivity vipActivity);

	VipActivity findVipActivitybyId(String id);

	int saveVipVote(VipVote vipVote);

	void saveVipOption(VipOption vipOption);

	List<ActivityApplyConfig> findActivityApplyConfig();

	void insertActivityApply(ActivityApply activityApply);

	void deleteActivityApply(String activityId);

	ActivityApply queryActivityApply(String activityId);

	void insertActivityMiddle(ActivityMiddle activityMiddle);

	List<CustActivityApply> queryCostActivityApply(CustActivityApply custActivityApply);

	List<CustActivityApply> queryCostActivityApplyColumn(String activityId);

	List<ActivityApply> findActivityApply(String activityId);

	List<CustActivityApply> queryActivityMiddleColumn(@Param("activityId") String activityId, @Param("column")String column);

	void deleteActivityMiddle(@Param("activityId")String activityId);

	List<ActivityMiddle> listPageActivityMiddle(Page page);

	void deleteActivityMiddleTJ(@Param("id")String id);

	List<ActivityMiddle> getActivityMiddleExecl(@Param("activityId")String activityId, @Param("title")String title);

	List<VipActivity> listPageFindVipActivityListAPI(Page page);

	List<VipActivity> listPageQueryVipActivityList(Page page);

	VipActivity queryVipActivityDetails(@Param("id")String id,@Param("appId")String appId,@Param("openId")String openId);

	List<VipActivity> listPageFindGoOverVipActivity(Page page);

	List<VipActivity> listPageFindVipActivityAll(Page page);

	List<VipActivity> queryVipActivityCount(@Param("listId")List<Integer> listId);

	List<VipActivity> fintVipActivityAll();

	void updateVipActivityState(@Param("idList")List<Integer> idList);
	
	
	
	    int countByExample(VipActivityExample example);

	    int deleteByExample(VipActivityExample example);

	    int deleteByPrimaryKey(Integer id);

	    int insert(VipActivity record);

	    int insertSelective(VipActivity record);

	    List<VipActivity> selectByExample(VipActivityExample example);

	    VipActivity selectByPrimaryKey(Integer id);

	    int updateByExampleSelective(@Param("record") VipActivity record, @Param("example") VipActivityExample example);

	    int updateByExample(@Param("record") VipActivity record, @Param("example") VipActivityExample example);

	    int updateByPrimaryKeySelective(VipActivity record);

	    int updateByPrimaryKey(VipActivity record);

}
